Collaborative document graph-based user interfaces

ABSTRACT

Various embodiments of the present invention provide methods, apparatuses, systems, computing devices, and/or the like that are configured to enable effective and efficient aggregate user-document interaction monitoring in collaborative document server systems. For example, certain embodiments of the present invention provide methods, apparatuses, systems, computing devices, and/or the like that are configured to perform aggregate user-document interaction monitoring in collaborative document server systems using one or more of collaborative document graph-based user interfaces, collaborative document graph-based interface objects, edge-wise visual effect objects, collaborative document node objects, collaborative document node elements, document transition edge objects, and document transition edge elements.

BACKGROUND

Various methods, apparatuses, and systems are configured to providetechniques for aggregate user-document interaction monitoring incollaborative document server systems. Applicant has identified manydeficiencies and problems associated with existing methods, apparatuses,and systems for aggregate user-document interaction monitoring incollaborative document server systems. Through applied effort,ingenuity, and innovation, these identified deficiencies and problemshave been solved by developing solutions that are in accordance with theembodiments of the present invention, many examples of which aredescribed in detail herein.

BRIEF SUMMARY

In general, embodiments of the present invention provide methods,apparatuses, systems, computing devices, and/or the like that areconfigured to enable effective and efficient aggregate user-documentinteraction monitoring in collaborative document server systems. Forexample, certain embodiments of the present invention provide methods,apparatuses, systems, computing devices, and/or the like that areconfigured to perform aggregate user-document interaction monitoring incollaborative document server systems using one or more of collaborativedocument graph-based user interfaces, collaborative document graph-basedinterface objects, edge-wise visual effect objects, collaborativedocument node objects, collaborative document node elements, documenttransition edge objects, and document transition edge elements.

In accordance with one aspect, a computer-implemented method isprovided. In one embodiment, the computer-implemented method comprises:presenting, via a display, a collaborative document graph-based userinterface comprising a plurality of collaborative document node elementsthat are visually connected, at least partly, by a plurality of documenttransition edge elements, wherein the plurality of document transitionedge elements are configured to visually represent collaborativedocument user transition data; determining, via a processor, anedge-wise visual effect associated with a selected document transitionedge element of the plurality of document transition edge elements,wherein the selected document transition edge element is defined betweena first collaborative document node element of the plurality ofcollaborative document node elements and a second collaborative documentnode element of the plurality of collaborative document node elements,and wherein the edge-wise visual effect is determined based on anedge-wise visual effect object, and further wherein the edge-wise visualeffect object is determined based on a subset of the collaborativedocument user transition data that is associated with a firstcollaborative document node object corresponding to the firstcollaborative document node element and a second collaborative documentnode object corresponding to the second collaborative document nodeelement; and updating the collaborative document graph-based userinterface to apply the edge-wise visual effect to the selected documenttransition edge element.

In accordance with another aspect, a computer program product isprovided. The computer program product may comprise at least onecomputer-readable storage medium having computer-readable program codeportions stored therein, the computer-readable program code portionscomprising executable portions configured to: present, via a display, acollaborative document graph-based user interface comprising a pluralityof collaborative document node elements that are visually connected, atleast partly, by a plurality of document transition edge elements,wherein the plurality of document transition edge elements areconfigured to visually represent collaborative document user transitiondata; determine, via a processor, an edge-wise visual effect associatedwith a selected document transition edge element of the plurality ofdocument transition edge elements, wherein the selected documenttransition edge element is defined between a first collaborativedocument node element of the plurality of collaborative document nodeelements and a second collaborative document node element of theplurality of collaborative document node elements, and wherein theedge-wise visual effect is determined based on an edge-wise visualeffect object, and further wherein the edge-wise visual effect object isdetermined based on a subset of the collaborative document usertransition data that is associated with a first collaborative documentnode object corresponding to the first collaborative document nodeelement and a second collaborative document node object corresponding tothe second collaborative document node element; and update thecollaborative document graph-based user interface to apply the edge-wisevisual effect to the selected document transition edge element.

In accordance with yet another aspect, an apparatus comprising at leastone processor and at least one memory including computer program code isprovided. In one embodiment, the at least one memory and the computerprogram code may be configured to, with the processor, cause theapparatus to: present, via a display, a collaborative documentgraph-based user interface comprising a plurality of collaborativedocument node elements that are visually connected, at least partly, bya plurality of document transition edge elements, wherein the pluralityof document transition edge elements are configured to visuallyrepresent collaborative document user transition data; determine, via aprocessor, an edge-wise visual effect associated with a selecteddocument transition edge element of the plurality of document transitionedge elements, wherein the selected document transition edge element isdefined between a first collaborative document node element of theplurality of collaborative document node elements and a secondcollaborative document node element of the plurality of collaborativedocument node elements, and wherein the edge-wise visual effect isdetermined based on an edge-wise visual effect object, and furtherwherein the edge-wise visual effect object is determined based on asubset of the collaborative document user transition data that isassociated with a first collaborative document node object correspondingto the first collaborative document node element and a secondcollaborative document node object corresponding to the secondcollaborative document node element; and update the collaborativedocument graph-based user interface to apply the edge-wise visual effectto the selected document transition edge element.

In accordance with another aspect, a computer-implemented method isprovided. In one embodiment, the computer-implemented method comprises:generating a collaborative document graph-based interface object thatdescribes the collaborative document graph-based user interface, whereinthe collaborative document graph-based user interface comprising aplurality of collaborative document node elements that are visuallyconnected, at least partly, by a plurality of document transition edgeelements, wherein the plurality of document transition edge elements areconfigured to visually represent collaborative document user transitiondata; transmitting the collaborative document graph-based interfaceobject to a client computing device to cause the client computing deviceto present the collaborative document graph-based user interface basedon the collaborative document graph-based interface object; determiningan edge-wise visual effect object associated with a selected documenttransition edge object that is associated with a selected documenttransition element of the plurality of document transition elements,wherein the selected document transition edge element is defined betweena first collaborative document node element of the plurality ofcollaborative document node elements and a second collaborative documentnode element of the plurality of collaborative document node elements,and wherein the edge-wise visual effect object is determined based on asubset of the collaborative document user transition data that isassociated with a first collaborative document node object correspondingto the first collaborative document node element and a secondcollaborative document node object corresponding to the secondcollaborative document node element; and transmitting the edge-wisevisual effect object to the client computing device, wherein the clientcomputing device is configured to update the collaborative documentgraph-based user interface to apply an edge-wise visual effectcorresponding to the edge-wise visual effect object to the selecteddocument transition edge element.

In accordance with another aspect, a computer program product isprovided. The computer program product may comprise at least onecomputer-readable storage medium having computer-readable program codeportions stored therein, the computer-readable program code portionscomprising executable portions configured to: generate a collaborativedocument graph-based interface object that describes the collaborativedocument graph-based user interface, wherein the collaborative documentgraph-based user interface comprising a plurality of collaborativedocument node elements that are visually connected, at least partly, bya plurality of document transition edge elements, wherein the pluralityof document transition edge elements are configured to visuallyrepresent collaborative document user transition data; transmit thecollaborative document graph-based interface object to a clientcomputing device to cause the client computing device to present thecollaborative document graph-based user interface based on thecollaborative document graph-based interface object; determine anedge-wise visual effect object associated with a selected documenttransition edge object that is associated with a selected documenttransition element of the plurality of document transition elements,wherein the selected document transition edge element is defined betweena first collaborative document node element of the plurality ofcollaborative document node elements and a second collaborative documentnode element of the plurality of collaborative document node elements,and wherein the edge-wise visual effect object is determined based on asubset of the collaborative document user transition data that isassociated with a first collaborative document node object correspondingto the first collaborative document node element and a secondcollaborative document node object corresponding to the secondcollaborative document node element; and transmit the edge-wise visualeffect object to the client computing device, wherein the clientcomputing device is configured to update the collaborative documentgraph-based user interface to apply an edge-wise visual effectcorresponding to the edge-wise visual effect object to the selecteddocument transition edge element.

In accordance with yet another aspect, an apparatus comprising at leastone processor and at least one memory including computer program code isprovided. In one embodiment, the at least one memory and the computerprogram code may be configured to, with the processor, cause theapparatus to: generate a collaborative document graph-based interfaceobject that describes the collaborative document graph-based userinterface, wherein the collaborative document graph-based user interfacecomprising a plurality of collaborative document node elements that arevisually connected, at least partly, by a plurality of documenttransition edge elements, wherein the plurality of document transitionedge elements are configured to visually represent collaborativedocument user transition data; transmit the collaborative documentgraph-based interface object to a client computing device to cause theclient computing device to present the collaborative documentgraph-based user interface based on the collaborative documentgraph-based interface object; determine an edge-wise visual effectobject associated with a selected document transition edge object thatis associated with a selected document transition element of theplurality of document transition elements, wherein the selected documenttransition edge element is defined between a first collaborativedocument node element of the plurality of collaborative document nodeelements and a second collaborative document node element of theplurality of collaborative document node elements, and wherein theedge-wise visual effect object is determined based on a subset of thecollaborative document user transition data that is associated with afirst collaborative document node object corresponding to the firstcollaborative document node element and a second collaborative documentnode object corresponding to the second collaborative document nodeelement; and transmit the edge-wise visual effect object to the clientcomputing device, wherein the client computing device is configured toupdate the collaborative document graph-based user interface to apply anedge-wise visual effect corresponding to the edge-wise visual effectobject to the selected document transition edge element.

BRIEF DESCRIPTION OF THE SEVERAL VIEW OF THE DRAWINGS

Having thus described some embodiments in general terms, references willnow be made to the accompanying drawings, which are not drawn to scale,and wherein:

FIG. 1 is a block diagram of an example document collaboration serversystem architecture within which at least some embodiments of thepresent invention may operate.

FIG. 2 is a block diagram of an example document collaboration servercomputing device structured in accordance with at least some embodimentsof the present invention.

FIG. 3 is a block diagram of an example client computing devicestructured in accordance with at least some embodiments of the presentinvention.

FIG. 4 is a flowchart diagram of an example process for performingserver-side operations that are configured to dynamically update acollaborative document graph-based user interface in accordance with atleast some embodiments of the present invention.

FIG. 5 is a flowchart diagram of an example process for generating acollaborative document graph-based interface object in accordance withat least some embodiments of the present invention.

FIG. 6 is a flowchart diagram of an example process for performingclient-side operations that are configured to dynamically update acollaborative document graph-based user interface in accordance with atleast some embodiments of the present invention.

FIGS. 7A-7C provide operational examples of a collaborative documentgraph-based user interface in accordance with at least some embodimentsof the present invention.

FIG. 8 provides an operational example of an updated collaborativedocument graph-based user interface configured in accordance with atleast some embodiments of the present invention.

FIG. 9 is a distributed operational flow diagram of an example processfor dynamically updating a collaborative document graph-based userinterface in accordance with at least some embodiments of the presentinvention.

FIGS. 10, 11A, and 11B provide operational examples of three single-rootcollaborative document graph-based user interfaces in accordance with atleast some embodiments of the present invention.

DETAILED DESCRIPTION OF VARIOUS EMBODIMENTS

Various embodiments of the present invention now will be described morefully hereinafter with reference to the accompanying drawings, in whichsome, but not all embodiments of the disclosure are shown. Indeed, thedisclosure may be embodied in many different forms and should not beconstrued as limited to the embodiments set forth herein. Rather, theseembodiments are provided so that this disclosure will satisfy applicablelegal requirements. The term “or” is used herein in both the alternativeand conjunctive sense, unless otherwise indicated. The terms“illustrative,” “example,” and “exemplary” are used to be examples withno indication of quality level. Like numbers refer to like elementsthroughout.

Overview

Various embodiments of the present invention address technical problemsassociated with generating and efficiently and reliably retrievingcollaborative documents from a document collaborative server system inan efficient manner that reduces computational load and query latency.The disclosed techniques can be utilized by a document collaborationserver system in presenting aggregate document transitional datacollected across user profiles accessing the document collaborationserver system. The described feature enables user profiles to utilizethe data generated by recording interactions of other profiles toexplore collaborative documents, which in turn likely reduces the numberof user-initiated queries for new collaborative documents, and thusimproves the computational efficiency of the document collaborationserver systems. An example of a document collaboration server systemthat may use the efficiency-enhancing techniques disclosed herein is theConfluence® collaborative document management platform that is owned byAtlassian PTY LTD.

Document collaboration server systems often store a large number ofcollaborative documents that may be accessible/editable by two or moreuser profiles. Each collaborative document may at each time be accessedby a group of user profiles that is larger than the group of userprofiles that created the documents, and different portions ofcollaborative documents may be created by different user profiles.Moreover, various collaborative documents created by different groups ofuser profiles may contain links/references to each other and may enableuser profiles to transition from one collaborative document to anothercollaborative document by selecting the noted links/references. Aconsequence of this complexity in cross-document relationships enabledby a document collaboration server system is the large number ofdocument access queries generated by often non-author user profiles inorder to explore the large number of interconnected collaborativedocuments available to them, which in turn imposes a large computationalburden on the processing capabilities and network capabilities of thedocument collaboration server system.

For example, consider a set of nine collaborative documents that arefully interconnected, such that each collaborative document includes asingle link to every other collaborative document. Without receivingmetadata about the relative significance of the links between thecollaborative documents, an end-user may end up making up to ninecross-document transitions, at each time potentially generating aseparate document access query whose processing may impose considerablecomputational costs on the document collaboration server system. Thismay happen despite the fact that some of the cross-document connectionsmay be of little significance as suggested by predictive inferences madebased on data about referential significance of cross-documentconnections and/or based on data about past user transitions acrosscollaborative documents.

To address the above-noted challenges associated with the numerosity ofdocument access queries in complex document relationship environmentsenabled by document collaboration server systems, various embodiments ofthe present invention provide end-users with collaborative documentgraph-based user interfaces that provide metadata information aboutreferential relationships and/or user transitional patterns acrosscollaborative documents. Importantly, in at least some of the notedembodiments, the collaborative document graph-based user interfaces aredesigned to be dynamically updatable, in order to provide the mostupdated cross-document user transition data to the end-users andfacilitate reliable and efficient decision-making by those end-users.The objective of the noted embodiments is to reduce the computationalload currently imposed on document collaboration server systems thathost complex document relationship environments, such as on Confluence®.

However, to facilitate the above-noted efficiency-enhancing objective ina client-server architecture, it was deemed technologically advantageousto reduce the computational load on client computing devices and thenetwork transmission load on networks used to transmit graph-based datain the client-server architecture. Accordingly, various embodiments ofthe present invention reduce the computational load on client computingdevices by performing the computationally costly operations needed todetect changes to document user transition data on server systems andtransmitting the results of the noted operations to the client computingdevices as edge-wise visual effect objects. Moreover, various otherembodiments of the present invention reduce the network transmissionload on networks by avoiding the need for transmission of theoften-large-in-size user interface data to client systems, a featurethat is enabled by transmitting the underlying data needed to generateuser interfaces over the networks and configuring the client device togenerate user interfaces based on the received underlying data. Overtime, the client systems can use techniques such as caching and/ormemorization to further reduce the computational cost of generatingupdated user interfaces without incurring any additional networktransmission costs.

Thus, by utilizing various combinations of the numerousefficiency-enhancing techniques described above, various embodiments ofthe present invention provide efficient and reliable techniques forpresenting aggregate document transitional data across user profilesaccessing a document collaboration server system to end-users of thenoted document collaboration server system. In doing so, variousembodiments of the present invention enable user profiles to utilize thedata generated by recording interactions of other user profiles toexplore collaborative documents in making decisions about efficientdocument exploration given a complex document exploration space. Thiscapability likely reduces the number of user-initiated queries for newcollaborative documents, and thus improves the computational efficiencyand operational reliability of the document collaboration server systemsthat host and provide access to complex document exploration spaces.

Various embodiments of the present invention improve the computationalefficiency and reliability of performing document discovery tasks. Forexample, in some embodiments, because various documents (e.g., articles,pages, and/or the like) are represented as collaborative document nodeelements and the cross-document transition edge elements between thenoted documents are determined based on relationships between thosedocuments (e.g., referential relationships between the documents), adocument discovery system can perform efficient document discovery for asource document given the links associated with the node for the sourcedocument. Accordingly, by facilitating efficient and reliable documentdiscovery, various embodiments of the present invention improve thecomputational efficiency and reliability of performing documentdiscovery tasks like document recommendation, document search, documentsearch result personalization, and/or the like.

Various embodiments of the present invention reduce cross-documentretrieval latency by storing collaborative documents as graph nodeobjects. Empirical experiments by the inventors show that storingcollaborative documents as graph node objects could reduce the latencyassociated with retrieving first-degree, second-degree, and third-degreecross-document retrievals significantly. This is contrast to existingdocument retrieval approaches that have high retrieval latencies whenextracting recursive connections beyond second-degree connections, asthe multiplicity of application programming interface (API) calls slowsdown the real-time result generation when multiple retries are made. Inaddition, graph node object representation can facilitate generatingpredictive insights about cross-document relationships, topicalassociations between groups of documents, document popularities, andideal storage locations for storing documents in order to enhancereachability/viewability of the noted documents. Furthermore, becausegraph node objects are easy to share and extend, utilizing graph nodeobject representation facilitates sharing and expansion of document datastored by a document collaboration server system.

Definitions

As used herein, the terms “data,” “content,” “digital content,” “digitalcontent object,” “information,” and similar terms may be usedinterchangeably to refer to data capable of being transmitted, received,and/or stored in accordance with embodiments of the present invention.Thus, use of any such terms should not be taken to limit the spirit andscope of embodiments of the present invention. Further, where acomputing device is described herein to receive data from anothercomputing device, it will be appreciated that the data may be receiveddirectly from another computing device or may be received indirectly viaone or more intermediary computing devices, such as, for example, one ormore servers, relays, routers, network access points, base stations,hosts, and/or the like, sometimes referred to herein as a “network.”Similarly, where a computing device is described herein to send data toanother computing device, it will be appreciated that the data may besent directly to another computing device or may be sent indirectly viaone or more intermediary computing devices, such as, for example, one ormore servers, relays, routers, network access points, base stations,hosts, and/or the like.

The terms “computer-readable storage medium” refers to a non-transitory,physical or tangible storage medium (e.g., volatile or non-volatilememory), which may be differentiated from a “computer-readabletransmission medium,” which refers to an electromagnetic signal.

The term “client computing device” refers to a combination of computerhardware and/or software that is configured to access a service madeavailable by a server. The server is often (but not always) on anothercomputer system, in which case the client accesses the service by way ofa network. Client computing devices may include, without limitation,smart phones, tablet computers, laptop computers, wearables, personalcomputers, enterprise computers, and the like.

The term “server computing device” refers to a combination of computerhardware and/or software that is configured to provide a service to aclient device. An example of a server computing device is the documentcollaboration server computing device 106 of FIG. 1. In someembodiments, a server computing device communicates with one or moreclient computing devices using one or more computer networks.

The term “collaborative document” refers to a data construct thatdescribes contents of a text-based format file (e.g., a Rich Text Format(RTF) file), where the contents of the text-based format file areconfigured to be editable/accessible by two or more user profiles. Thecollaborative document may be stored in a storage subsystem of adocument collaboration server system. For example, the documentcollaboration server system may enable a first user profile to share acollaborative document with one or more other user profiles, where eachof the one or more user profiles may be given defined read/write accessprivileges. An example of a collaborative document is a Confluence®page.

The term “collaborative document graph-based user interface” refers toan electronic display that is generated by a client computing device andthen presented to an end-user of the client computing device. The clientcomputing device is configured to generate the collaborative documentgraph-based user interface based on a collaborative document graph-basedinterface object, where the collaborative document graph-based interfaceobject is generated by a document collaboration server computing deviceand transmitted by the document collaboration server computing device tothe client computing device. The collaborative document graph-based userinterface describes relationships between a group of collaborativedocument node elements each associated with a collaborative document viaa group of document transition edge elements. For example, acollaborative document graph-based user interface may display a group ofcollaborative document node elements each associated with acollaborative document and a group of document transition edge elements,where the existence of a document transition edge element between twocollaborative document node elements describes that the twocollaborative documents associated with the two collaborative documentnode elements are associated with a cross-document transitionalrelationship as defined by collaborative document user transition dataassociated with the two collaborative documents.

The term “collaborative document graph-based interface object” refers toa data construct that is generated by a document collaboration servercomputing device and transmitted by the document collaboration servercomputing device to the client computing device. The client computingdevice is configured to generate a collaborative document graph-baseduser interface based on the collaborative document graph-based interfaceobject and present the collaborative document graph-based user interfaceto an end-user of the client computing device. The collaborativedocument graph-based interface object describes the collaborativedocument node elements and the document transition edge elementsassociated with the corresponding collaborative document graph-baseduser interface. For example, a collaborative document graph-basedinterface object may describe the collaborative document node elementsand the document transition elements associated with a correspondingcollaborative document graph-based user interface using Hypertext MarkupLanguage (HTML) data.

The term “collaborative document node element” refers to a visualelement that is generated by a client computing device and presented toan end-user of the client computing device as part of a collaborativedocument graph-based user interface. The client computing device isconfigured to generate the collaborative document node element based ona corresponding collaborative document node object in a collaborativedocument graph-based interface object, where the collaborative documentgraph-based interface object is generated by a document collaborationserver computing device and transmitted by the document collaborationserver computing device to the client computing device. Thecollaborative document node element depicts a visual representation of acollaborative document associated with the corresponding collaborativedocument node object, as well as optionally one or more documentproperty data fields described by the corresponding collaborativedocument node object. For example, a collaborative document node elementmay describe an identifier of the corresponding collaborative document,a revision history of the corresponding collaborative document, alocation of the corresponding collaborative document, a size of thecorresponding collaborative document, and/or the like.

The term “collaborative document node object” describes a data objectthat is generated by a document collaboration server computing deviceand transmitted by the document collaboration server computing device toa client computing device as part of a collaborative documentgraph-based interface object. The collaborative document node objectdescribes one or more document property data fields associated with acorresponding collaborative document that is stored in a storagesubsystem of a document collaboration server system that is associatedwith the document collaboration server computing device. For example,the collaborative document node object may describe an identifier of thecorresponding collaborative document, a revision history of thecorresponding collaborative document, a location of the correspondingcollaborative document, a size of the corresponding collaborativedocument, identifiers of one or more authors of the correspondingcollaborative documents, identifiers of any users that have viewed thecorresponding collaborative document, the comments associated with thecorresponding collaborative document, one or more user privilegedefinitions associated with the corresponding collaborative document,precomputed values associated with the corresponding collaborativedocument (e.g., a precomputed rank of the collaborative document, suchas a rank that is computed using PageRank and/or using Hyperlink-InducedTopic Search (HITS)). and/or the like. The client computing device isconfigured to process the collaborative document node object to generatea collaborative document node element for the correspondingcollaborative document in a collaborative document graph-based userinterface, where the collaborative document node element depicts avisual representation of a collaborative document associated with thecorresponding collaborative document node object, as well as optionallythe one or more document property data fields described by thecorresponding collaborative document node object.

The term “document transition edge element” refers to a visual elementthat is generated by a client computing device and presented to anend-user of the client computing device as part of a collaborativedocument graph-based user interface. The client computing device isconfigured to generate the document transition edge element based on acorresponding document transition edge object in a collaborativedocument graph-based interface object, where the collaborative documentgraph-based interface object is generated by a document collaborationserver computing device and transmitted by the document collaborationserver computing device to the noted client computing device. Thedocument transition edge element depicts a visual representation of across-document transitional relationship between two correspondingcollaborative documents as described by the corresponding documenttransition object. The document transition edge element may furtherdescribe one or more relationship property data fields associated withthe cross-document transitional relationship. Examples of relationshipproperty data fields include a relationship type data field, areferential frequency measure, a transitional frequency measure, areferential recency measure, and a transitional recency measure.

The term “document transition edge object” describes a data object thatis generated by a document collaboration server computing device andtransmitted by the document collaboration server computing device to aclient computing device as part of a collaborative document graph-basedinterface object. The document transition edge object describes theexistence of a cross-document transitional relationship between twocollaborative documents. For example, a particular document transitionedge object may describe that a first collaborative document links to asecond collaborative document. As another example, a particular documenttransition edge object may describe that, during a document viewingsession, a target user profile has selected a link from a firstcollaborative document to a second collaborative document. As yetanother example, a particular document transition edge object maydescribe that a group of user profiles (e.g., a group of user profilesin a team of a target user profile) have over the course of one or moredocument viewing sessions selected a link from a first collaborativedocument to a second collaborative document. The document transitionedge object may further describe one or more relationship property datafields for the cross-document transitional relationship between the twocollaborative documents. Examples of relationship property data fieldsfor a cross-document transitional relationship include at least one of areferential intensity measure for two corresponding collaborativedocument node objects associated with the two collaborative documents, atransitional frequency measure for two corresponding collaborativedocument node objects associated with the two collaborative documents, atransitional recency measure for two corresponding collaborativedocument node objects associated with the two collaborative documents,and/or the like.

The term “collaborative document user transition data” refers to one ormore data objects that are generated by a document collaboration servercomputing device and maintained in a storage subsystem of a documentcollaboration server system that is associated with the documentcollaboration server computing device. The collaborative document usertransition data is configured to describe one or more referentialassociations between a group of collaborative documents and/or one ormore transitional associations between a group of collaborativedocuments. A referential association between two collaborative documentsdescribes that a first collaborative document of the two collaborativedocuments includes a link/reference to a second collaborative documentof the two collaborative documents. A transitional association betweentwo collaborative documents describes that a particular user profile hasselected to transition from a first collaborative document of the twocollaborative documents to a second collaborative document of the twocollaborative documents by selecting a link to the second collaborativedocument in the first collaborative document. The document collaborationserver computing device is configured to generate document transitionedge elements based on the collaborative document user transition data.In some embodiments, the collaborative document transition data aredetermined based on the transition history of a target user profilecurrently viewing a collaborative document graph-based user interface, ateam profile associated with the target user profile, a community ofuser profiles, and/or the like. In some embodiments, a transitionalassociation between two collaborative documents is determined based onuser activity data for a target user profile during a historicaldocument viewing session, user activity data for a team profileassociated with the target user profile during one or more historicaldocument viewing sessions, during a historical document viewing sessionfor a community of user profiles during one or more historical documentviewing sessions, and/or the like. In some embodiments, the useractivity data is recorded using a web browser extension that enablesrecording tab changes and active tabs. In some embodiments, atransitional association between two collaborative documents isdetermined based on document browsing timestamps (i.e., document accesstimestamps) for a target collaborative document. In some embodiments, areferential association between two collaborative documents isdetermined based on metadata information about one or both of the twocollaborative documents, such as based on the Incoming Links andOutgoing Links fields of a Page Information file for a Confluence® page.

The term “cross-document transitional relationship” describes a dataobject that is generated by a document collaboration server computingdevice based on the collaborative user transition data. Thecross-document transitional relationship describes an aggregateassociation between two corresponding collaborative documents, as wellas optionally one or more relationship property data fields for theaggregate association. For example, a particular cross-documenttransitional relationship may describe that the number oflinks/references from a first collaborative document of the twocollaborative documents to a second collaborative document of the twocollaborative documents is above a unidirectional link/reference countthreshold. As another example, a particular cross-document transitionalrelationship may describe that the number of links/references between afirst collaborative document of the two collaborative documents and asecond collaborative document of the two collaborative documents isabove a bidirectional link/reference count threshold. As yet anotherexample, a particular cross-document transitional relationship maydescribe that a count of end-user transitions from a first collaborativedocument of the two collaborative documents to a second collaborativedocument of the two collaborative documents is above a unidirectionaltransition count threshold. As a further example, a particularcross-document transitional relationship may describe that a count ofend-user transitions between a first collaborative document of the twocollaborative documents and a second collaborative document of the twocollaborative documents is above a bidirectional transition countthreshold.

The term “edge-wise visual effect” refers to a visual element that isgenerated by a client computing device and presented to an end-user ofthe client computing device as a modification to a current visual stateof a document transition edge element. The client computing device isconfigured to generate the edge-wise visual effect based on an edge-wisevisual effect object, wherein the edge-wise visual effect object isgenerated by a document collaboration server computing device andtransmitted by the document collaboration server computing device to theclient computing device. The edge-wise visual effect may, for example,change a coloring scheme of the corresponding document transition edgeelement and/or change a width intensity of the corresponding documenttransition edge element.

The term “edge-wise visual effect object” refers to a data constructthat is generated by a document collaboration server computing deviceand transmitted by the document collaboration server computing device tothe client computing device. The edge-wise visual effect objectdescribes a change in one or more relationship property data fields of acorresponding cross-document transitional relationship that isassociated with a corresponding document transition edge object for theedge-wise visual effect object. For example, the document collaborationserver computing device may generate the edge-wise visual effect objectbased on a referential frequency measure for the two collaborativedocument node objects that are associated with the correspondingcross-document transitional relationship. As another example, thedocument collaboration server computing device may generate theedge-wise visual effect object based on a transitional frequency measurefor the two collaborative document node objects that are associated withthe corresponding cross-document transitional relationship. As anotherexample, the document collaboration server computing device may generatethe edge-wise visual effect object based on a transitional frequencymeasure for the two collaborative document node objects that areassociated with the corresponding cross-document transitionalrelationship. As yet another example, the document collaboration servercomputing device may generate the edge-wise visual effect object basedon a transitional recency measure for the two collaborative documentnode objects that are associated with the corresponding cross-documenttransitional relationship. The client computing device is configured toupdate a collaborative document graph-based user interface to apply theedge-wise visual effect to a document transition edge element of thecollaborative document graph-based user interface that is associatedwith the document transition edge object. In some embodiments, updatingthe collaborative document graph-based user interface to apply theedge-wise visual effect to a selected document transition edge elementcomprises modifying a coloring scheme of the selected documenttransition edge element. In some embodiments, updating the collaborativedocument graph-based user interface to apply the edge-wise visual effectto a selected document transition edge element comprises modifying awidth intensity of the selected document transition edge element.

The term “relationship property data field” refers to a data constructthat is generated by a document collaboration server computing devicebased on the collaborative user transition data. The relationshipproperty data field is configured to describe one or more attributes ofthe aggregate association that is associated with a correspondingcross-document transitional relationship. As described above, across-document transitional relationship may describe one or morerelationship property data fields for the aggregate association that isassociated with the cross-document transitional relationship. Examplesof relationship property data fields include a relationship type datafield, a referential frequency measure, a transitional frequencymeasure, a referential recency measure, and a transitional recencymeasure.

The term “relationship type data field” refers to a relationshipproperty data field that describes an aggregate type of a correspondingcross-document transitional relationship. For example, a relationshiptype data field for a corresponding cross-document transitionalrelationship may describe whether the corresponding cross-documenttransitional relationship is a unidirectional referential relationshipfor two collaborative documents (i.e., where the cross-documenttransitional relationship describes that the number of links/referencesfrom a first collaborative document of the two collaborative documentsto a second collaborative document of the two collaborative documents isabove a unidirectional link/reference count threshold), a bidirectionalreferential relationship for two collaborative documents (i.e., wherethe cross-document transitional relationship describes that the numberof links/references between a first collaborative document of the twocollaborative documents and a second collaborative document of the twocollaborative documents is above a bidirectional link/reference countthreshold), a unidirectional transitional relationship (i.e., where thecross-document transitional relationship describes that a count ofend-user transitions from a first collaborative document of the twocollaborative documents to a second collaborative document of the twocollaborative documents is above a unidirectional transition countthreshold), and/or a bidirectional transitional relationship (i.e.,where the cross-document transitional relationship describes that acount of end-user transitions between a first collaborative document ofthe two collaborative documents and a second collaborative document ofthe two collaborative documents is above a bidirectional transitioncount threshold).

A “referential frequency measure” may refer to a relationship propertydata field that is configured to describe a count of unidirectionallinks/references from a first collaborative document of twocollaborative documents to a second collaborative document of the twocollaborative documents. For example, the referential frequency measuremay describe that there are ten links/references to the secondcollaborative document in the first collaborative document.

A “referential recency measure” may refer to a relationship propertydata field that is configured to describe a measure of recency ofcreation of unidirectional links/references from a first collaborativedocument of two collaborative documents to a second collaborativedocument of the two collaborative documents. For example, a referentialrecency measure may describe a count of unidirectional links/referencesfrom the first collaborative document to the second collaborativedocument that are created within a recent time period (e.g., within thelast week). As another example, a referential recency measure maydescribe a ratio of unidirectional links/references from the firstcollaborative document to the second collaborative document that arecreated within a recent time period (e.g., within the last week).

A “transitional frequency measure” may refer to a relationship propertydata field that is configured to describe a count of transitions from afirst collaborative document of two collaborative documents to a secondcollaborative document of the two collaborative documents by a group oftarget user profiles. For example, the transitional frequency measuremay describe a count of transitions from a first collaborative documentof two collaborative documents to a second collaborative document of thetwo collaborative documents by a target user profile. As anotherexample, the transitional frequency measure may describe a count oftransitions from a first collaborative document of two collaborativedocuments to a second collaborative document of the two collaborativedocuments by all user profiles of a document collaboration serversystem. As yet another example, the transitional frequency measure maydescribe a count of transitions from a first collaborative document oftwo collaborative documents to a second collaborative document of thetwo collaborative documents by a team/group of user profiles that isassociated with a target user profile.

A “transitional recency measure” may refer to a relationship propertydata field that is configured to describe recency of transitions from afirst collaborative document of two collaborative documents to a secondcollaborative document of the two collaborative documents by a group oftarget user profiles. For example, a referential recency measure maydescribe a count of transitions from the first collaborative document tothe second collaborative document that are performed within a recenttime period (e.g., within the last week). As another example, areferential recency measure may describe a ratio of transitions from thefirst collaborative document to the second collaborative document thatare performed within a recent time period (e.g., within the last week).In some embodiments, the transitional recency measure may describerecency of transitions from a first collaborative document of twocollaborative documents to a second collaborative document of the twocollaborative documents by a target user profile. In some embodiments,the transitional recency measure may describe recency of transitionsfrom a first collaborative document of two collaborative documents to asecond collaborative document of the two collaborative documents by alluser profiles of a document collaboration server system. In someembodiments, the referential frequency measure may describe recency oftransitions from a first collaborative document of two collaborativedocuments to a second collaborative document of the two collaborativedocuments by a team/group of user profiles that is associated with atarget user profile.

Example System Architecture

Methods, apparatuses, and computer program products of the presentinvention may be embodied by any of a variety of devices. For example,the method, apparatus, and computer program product of an exampleembodiment may be embodied by a networked device (e.g., an enterpriseplatform), such as a server or other network entity, configured tocommunicate with one or more devices, such as one or morequery-initiating computing devices. Additionally or alternatively, thecomputing device may include fixed computing devices, such as a personalcomputer or a computer workstation. Still further, example embodimentsmay be embodied by any of a variety of mobile devices, such as aportable digital assistant (PDA), mobile telephone, smartphone, laptopcomputer, tablet computer, wearable, or any combination of theaforementioned devices.

FIG. 1 depicts an exemplary architecture 100 for dynamically updating adocument collaboration graph-based interface. The architecture 100includes one or more client computing devices 102 and a documentcollaboration server system 101. The document collaboration serversystem 101 is configured to store collaborative documents in a storagesubsystem 108, provide the collaborative documents in response to userqueries transmitted by the client computing devices 102, generatedynamically updatable document collaboration graph-based interfacesusing the document collaboration server computing device 106, andprovide dynamically updatable document collaboration graph-basedinterfaces to client computing devices 102 in response to user requestsfor the noted dynamically updatable document collaboration graph-basedinterfaces as transmitted by the client computing devices 102.

The storage subsystem 108 of the document collaboration server system101 is configured to store document content data in a document storageunit 121 and collaborative document user transition data in a transitiondata storage unit 122. The document collaboration server computingdevice 106 of the document collaboration server system 101 includes atransition modeling unit 111 that is configured to generate documentcollaboration graph-based interface objects and a dynamic update unit112 that is configured to generate edge-wise visual effect objects forthe document collaboration graph-based interface objects.

The client computing devices 102 and the document collaboration servercomputing device 106 may communicate over one or more networks. Anetwork may include any wired or wireless communication networkincluding, for example, a wired or wireless local area network (LAN),personal area network (PAN), metropolitan area network (MAN), wide areanetwork (WAN), or the like, as well as any hardware, software and/orfirmware required to implement it (such as, e.g., network routers,etc.). For example, a network may include a cellular telephone, an802.11, 802.16, 802.20, and/or WiMax network. Further, a network mayinclude a public network, such as the Internet, a private network, suchas an intranet, or combinations thereof, and may utilize a variety ofnetworking protocols now available or later developed including, but notlimited to Transmission Control Protocol/Internet Protocol (TCP/IP)based networking protocols. For instance, the networking protocol may becustomized to suit the needs of the page management system. In someembodiments, the protocol is a custom protocol of JavaScript ObjectNotation (JSON) objects sent via a Websocket channel. In someembodiments, the protocol is JSON over RPC, JSON over REST/HTTP, and thelike.

Exemplary Document Collaboration Server Computing Device

The document collaboration server computing device 106 may be embodiedby one or more computing systems, such as apparatus 200 shown in FIG. 2.The apparatus 200 may include processor 202, memory 204, input/outputcircuitry 206, and communications circuitry 208. The apparatus 200 maybe configured to execute the operations described herein. Although thesecomponents 202-208 are described with respect to functional limitations,it should be understood that the particular implementations necessarilyinclude the use of particular hardware. It should also be understoodthat certain of these components 202-208 may include similar or commonhardware. For example, two sets of circuitries may both leverage use ofthe same processor, network interface, storage medium, or the like toperform their associated functions, such that duplicate hardware is notrequired for each set of circuitries.

In some embodiments, the processor 202 (and/or co-processor or any otherprocessing circuitry assisting or otherwise associated with theprocessor) may be in communication with the memory 204 via a bus forpassing information among components of the apparatus. The memory 204 isnon-transitory and may include, for example, one or more volatile and/ornon-volatile memories. In other words, for example, the memory 204 maybe an electronic storage device (e.g., a computer-readable storagemedium). The memory 204 may be configured to store information, data,content, applications, instructions, or the like for enabling theapparatus to carry out various functions in accordance with exampleembodiments of the present invention.

The processor 202 may be embodied in a number of different ways and may,for example, include one or more processing devices configured toperform independently. In some preferred and non-limiting embodiments,the processor 202 may include one or more processors configured intandem via a bus to enable independent execution of instructions,pipelining, and/or multithreading. The use of the term “processingcircuitry” may be understood to include a single core processor, amulti-core processor, multiple processors internal to the apparatus,and/or remote or “cloud” processors.

In some preferred and non-limiting embodiments, the processor 202 may beconfigured to execute instructions stored in the memory 204 or otherwiseaccessible to the processor 202. In some preferred and non-limitingembodiments, the processor 202 may be configured to execute hard-codedfunctionalities. As such, whether configured by hardware or softwaremethods, or by a combination thereof, the processor 202 may represent anentity (e.g., physically embodied in circuitry) capable of performingoperations according to an embodiment of the present invention whileconfigured accordingly. Alternatively, as another example, when theprocessor 202 is embodied as an executor of software instructions, theinstructions may specifically configure the processor 202 to perform thealgorithms and/or operations described herein when the instructions areexecuted.

In some embodiments, the apparatus 200 may include input/outputcircuitry 206 that may, in turn, be in communication with processor 202to provide output to the user and, in some embodiments, to receive anindication of a user input. The input/output circuitry 206 may comprisea user interface and may include a display, and may comprise a web userinterface, a mobile application, a query-initiating computing device, akiosk, or the like. In some embodiments, the input/output circuitry 206may also include a keyboard, a mouse, a joystick, a touch screen, touchareas, soft keys, a microphone, a speaker, or other input/outputmechanisms. The processor and/or user interface circuitry comprising theprocessor may be configured to control one or more functions of one ormore user interface elements through computer program instructions(e.g., software and/or firmware) stored on a memory accessible to theprocessor (e.g., memory 204, and/or the like).

The communications circuitry 208 may be any means such as a device orcircuitry embodied in either hardware or a combination of hardware andsoftware that is configured to receive and/or transmit data from/to anetwork and/or any other device, circuitry, or module in communicationwith the apparatus 200. In this regard, the communications circuitry 208may include, for example, a network interface for enablingcommunications with a wired or wireless communication network. Forexample, the communications circuitry 208 may include one or morenetwork interface cards, antennae, buses, switches, routers, modems, andsupporting hardware and/or software, or any other device suitable forenabling communications via a network. Additionally or alternatively,the communications circuitry 208 may include the circuitry forinteracting with the antenna/antennae to cause transmission of signalsvia the antenna/antennae or to handle receipt of signals received viathe antenna/antennae.

It is also noted that all or some of the information discussed hereincan be based on data that is received, generated and/or maintained byone or more components of apparatus 200. In some embodiments, one ormore external systems (such as a remote cloud computing and/or datastorage system) may also be leveraged to provide at least some of thefunctionality discussed herein.

Exemplary Client Computing Device

Referring now to FIG. 3, a client computing device may be embodied byone or more computing systems, such as apparatus 300 shown in FIG. 3.The apparatus 300 may include processor 302, memory 304, input/outputcircuitry 306, and a communications circuitry 308. Although thesecomponents 302-308 are described with respect to functional limitations,it should be understood that the particular implementations necessarilyinclude the use of particular hardware. It should also be understoodthat certain of these components 302-308 may include similar or commonhardware. For example, two sets of circuitries may both leverage use ofthe same processor, network interface, storage medium, or the like toperform their associated functions, such that duplicate hardware is notrequired for each set of circuitries.

In some embodiments, the processor 302 (and/or co-processor or any otherprocessing circuitry assisting or otherwise associated with theprocessor) may be in communication with the memory 304 via a bus forpassing information among components of the apparatus. The memory 304 isnon-transitory and may include, for example, one or more volatile and/ornon-volatile memories. In other words, for example, the memory 304 maybe an electronic storage device (e.g., a computer-readable storagemedium). The memory 304 may include one or more databases. Furthermore,the memory 304 may be configured to store information, data, content,applications, instructions, or the like for enabling the apparatus 300to carry out various functions in accordance with example embodiments ofthe present invention.

The processor 302 may be embodied in a number of different ways and may,for example, include one or more processing devices configured toperform independently. In some preferred and non-limiting embodiments,the processor 302 may include one or more processors configured intandem via a bus to enable independent execution of instructions,pipelining, and/or multithreading. The use of the term “processingcircuitry” may be understood to include a single core processor, amulti-core processor, multiple processors internal to the apparatus,and/or remote or “cloud” processors.

In some preferred and non-limiting embodiments, the processor 302 may beconfigured to execute instructions stored in the memory 304 or otherwiseaccessible to the processor 302. In some preferred and non-limitingembodiments, the processor 302 may be configured to execute hard-codedfunctionalities. As such, whether configured by hardware or softwaremethods, or by a combination thereof, the processor 302 may represent anentity (e.g., physically embodied in circuitry) capable of performingoperations according to an embodiment of the present invention whileconfigured accordingly. Alternatively, as another example, when theprocessor 302 is embodied as an executor of software instructions (e.g.,computer program instructions), the instructions may specificallyconfigure the processor 302 to perform the algorithms and/or operationsdescribed herein when the instructions are executed.

In some embodiments, the apparatus 300 may include input/outputcircuitry 306 that may, in turn, be in communication with processor 302to provide output to the user and, in some embodiments, to receive anindication of a user input. The input/output circuitry 306 may comprisea user interface and may include a display, and may comprise a web userinterface, a mobile application, a query-initiating computing device, akiosk, or the like.

In embodiments in which the apparatus 300 is embodied by a limitedinteraction device, the input/output circuitry 306 includes a touchscreen and does not include, or at least does not operatively engage(i.e., when configured in a table mode), other input accessories such astactile keyboards, track pads, mice, etc. In other embodiments in whichthe apparatus is embodied by a non-limited interaction device, theinput/output circuitry 306 may include may include at least one of atactile keyboard (e.g., also referred to herein as keypad), a mouse, ajoystick, a touch screen, touch areas, soft keys, and other input/outputmechanisms. The processor and/or user interface circuitry comprising theprocessor may be configured to control one or more functions of one ormore user interface elements through computer program instructions(e.g., software and/or firmware) stored on a memory accessible to theprocessor (e.g., memory 304, and/or the like).

The communications circuitry 308 may be any means such as a device orcircuitry embodied in either hardware or a combination of hardware andsoftware that is configured to receive and/or transmit data from/to anetwork and/or any other device, circuitry, or module in communicationwith the apparatus 300. In this regard, the communications circuitry 308may include, for example, a network interface for enablingcommunications with a wired or wireless communication network. Forexample, the communications circuitry 308 may include one or morenetwork interface cards, antennae, buses, switches, routers, modems, andsupporting hardware and/or software, or any other device suitable forenabling communications via a network. Additionally or alternatively,the communications circuitry 308 may include the circuitry forinteracting with the antenna/antennae to cause transmission of signalsvia the antenna/antennae or to handle receipt of signals received viathe antenna/antennae.

It is also noted that all or some of the information discussed hereincan be based on data that is received, generated and/or maintained byone or more components of apparatus 300. In some embodiments, one ormore external systems (such as a remote cloud computing and/or datastorage system) may also be leveraged to provide at least some of thefunctionality discussed herein.

Example Data Flows and Operations

Provided below are techniques for dynamically updating a collaborativedocument graph-based user interface in a client-server architecture.However, a person of ordinary skill in the relevant technology willrecognize that the disclosed techniques can be used to updatecollaborative document graph-based user interfaces in other softwarearchitectures, such as in peer-to-peer software architectures.Furthermore, a person of ordinary skill in the relevant technology willrecognize that the client-side operations discussed below can beperformed without the server-side operations described below and viceversa. Moreover, a person of ordinary skill in the relevant technologywill recognize that only some of the operations of the distributedsoftware architecture described with reference to FIG. 9 may beperformed without departing from the spirit of various embodiments ofthe present invention.

Exemplary Server-Side Operations

FIG. 4 is a flowchart diagram of an example process 400 for performingserver-side operations that are configured to dynamically update acollaborative document graph-based user interface. Via the variousoperations of the process 400, the document collaboration servercomputing device 106 can generate collaborative document graph-basedinterface objects and edge-wise visual effect objects that are in turnconfigured to facilitate presenting a dynamically-updatablecollaborative document graph-based user interface to a target end-user.

The process 400 begins at operation 401 when the document collaborationserver computing device 106 generates a collaborative documentgraph-based interface object. The collaborative document graph-basedinterface object describes the collaborative document nodes elements andthe document transition edge elements associated with the correspondingcollaborative document graph-based user interface. For example, acollaborative document graph-based interface object may describe thecollaborative document nodes elements and the document transitionelements associated with a corresponding collaborative documentgraph-based user interface using HTML data.

The collaborative document graph-based interface object includescollaborative document node objects and document transition edgeobjects. A collaborative document node object describes one or moredocument property data fields associated with a correspondingcollaborative document that is stored in the storage subsystem 108. Forexample, the collaborative document node object may describe anidentifier of the corresponding collaborative document, a revisionhistory of the corresponding collaborative document, a location of thecorresponding collaborative document, a size of the correspondingcollaborative document, and/or the like. A client computing device 102is configured to process the collaborative document node object togenerate a collaborative document node element for the correspondingcollaborative document in a collaborative document graph-based userinterface, where the collaborative document node element depicts avisual representation of a collaborative document associated with thecorresponding collaborative document node object, as well as optionallythe one or more document property data fields described by thecorresponding collaborative document node object.

A document transition edge object describes the existence of across-document transitional relationship between two collaborativedocuments. For example, a particular document transition edge object maydescribe that a first collaborative document links to a secondcollaborative document. As another example, a particular documenttransition edge object may describe that, during a document viewingsession, a target user profile has selected a link from a firstcollaborative document to a second collaborative document. As yetanother example, a particular document transition edge object maydescribe that a group of user profiles (e.g., a group of user profilesin a team of a target user profile) have over the course of one or moredocument viewing sessions selected a link from a first collaborativedocument to a second collaborative document. A document transition edgeobject may further describe one or more relationship property datafields for the cross-document transitional relationship between the twocollaborative documents. Examples of relationship property data fieldsfor a cross-document transitional relationship include at least one of areferential intensity measure for two corresponding collaborativedocument node objects associated with the two collaborative documents, atransitional frequency measure for two corresponding collaborativedocument node objects associated with the two collaborative documents, atransitional recency measure for two corresponding collaborativedocument node objects associated with the two collaborative documents,and/or the like.

In some embodiments, operation 401 may be performed in accordance withthe process that is depicted in FIG. 5. The process that is depicted inFIG. 5 begins at operation 501 when the document collaboration servercomputing device 106 retrieves collaborative document user transitiondata from the storage subsystem 108. The collaborative document usertransition data is configured to describe one or more referentialassociations between a group of collaborative documents and/or one ormore transitional associations between a group of collaborativedocuments. A referential association between two collaborative documentsdescribes that a first collaborative document of the two collaborativedocuments includes a link/reference to a second collaborative documentof the two collaborative documents. A transitional association betweentwo collaborative documents describes that a particular user profile hasselected to transition from a first collaborative document of the twocollaborative documents to a second collaborative document of the twocollaborative documents by selecting a link to the second collaborativedocument in the first collaborative document. In some embodiments, atransitional association between two collaborative documents isdetermined based on user activity data for a target user profile duringa historical document viewing session. In some embodiments, atransitional association between two collaborative documents isdetermined based on document browsing timestamps (i.e., document accesstimestamps) for a target collaborative document.

At operation 502, the document collaboration server computing device 106determines one or more cross-document transitional relationships basedon the collaborative document user transition data. A cross-documenttransitional relationship describes an aggregate association between twocorresponding collaborative documents, as well as optionally one or morerelationship property data fields for the aggregate association. Forexample, a particular cross-document transitional relationship maydescribe that the number of links/references from a first collaborativedocument of the two collaborative documents to a second collaborativedocument of the two collaborative documents is above a unidirectionallink/reference count threshold. As another example, a particularcross-document transitional relationship may describe that the number oflinks/references between a first collaborative document of the twocollaborative documents and a second collaborative document of the twocollaborative documents is above a bidirectional link/reference countthreshold. As yet another example, a particular cross-documenttransitional relationship may describe that a count of end-usertransitions from a first collaborative document of the two collaborativedocuments to a second collaborative document of the two collaborativedocuments is above a unidirectional transition count threshold. As afurther example, a particular cross-document transitional relationshipmay describe that a count of end-user transitions between a firstcollaborative document of the two collaborative documents and a secondcollaborative document of the two collaborative documents is above abidirectional transition count threshold.

As described above, a cross-document transitional relationship maydescribe one or more relationship property data fields for the aggregateassociation that is associated with the cross-document transitionalrelationship. A relationship property data field describes one or moreattributes of the aggregate association that is associated with thecross-document transitional relationship. Examples of relationshipproperty data fields include a relationship type data field, areferential frequency measure, a transitional frequency measure, areferential recency measure, and a transitional recency measure.

A relationship type data field describes an aggregate type of acorresponding cross-document transitional relationship. For example, arelationship type data field for a corresponding cross-documenttransitional relationship may describe whether the correspondingcross-document transitional relationship is a unidirectional referentialrelationship for two collaborative documents (i.e., where thecross-document transitional relationship describes that the number oflinks/references from a first collaborative document of the twocollaborative documents to a second collaborative document of the twocollaborative documents is above a unidirectional link/reference countthreshold), a bidirectional referential relationship for twocollaborative documents (i.e., where the cross-document transitionalrelationship describes that the number of links/references between afirst collaborative document of the two collaborative documents and asecond collaborative document of the two collaborative documents isabove a bidirectional link/reference count threshold), a unidirectionaltransitional relationship (i.e., where the cross-document transitionalrelationship describes that a count of end-user transitions from a firstcollaborative document of the two collaborative documents to a secondcollaborative document of the two collaborative documents is above aunidirectional transition count threshold), and/or a bidirectionaltransitional relationship (i.e., where the cross-document transitionalrelationship describes that a count of end-user transitions between afirst collaborative document of the two collaborative documents and asecond collaborative document of the two collaborative documents isabove a bidirectional transition count threshold).

A referential frequency measure describes a count of unidirectionallinks/references from a first collaborative document of twocollaborative documents to a second collaborative document of the twocollaborative documents. For example, the referential frequency measuremay describe that there are ten links/references to the secondcollaborative document in the first collaborative document.

A referential recency measure describes a measure of recency of creationof unidirectional links/references from a first collaborative documentof two collaborative documents to a second collaborative document of thetwo collaborative documents. For example, a referential recency measuremay describe a count of unidirectional links/references from the firstcollaborative document to the second collaborative document that arecreated within a recent time period (e.g., within the last week). Asanother example, a referential recency measure may describe a ratio ofunidirectional links/references from the first collaborative document tothe second collaborative document that are created within a recent timeperiod (e.g., within the last week).

A transitional frequency measure describes a count of transitions from afirst collaborative document of two collaborative documents to a secondcollaborative document of the two collaborative documents by a group oftarget user profiles. For example, the transitional frequency measuremay describe a count of transitions from a first collaborative documentof two collaborative documents to a second collaborative document of thetwo collaborative documents by a target user profile. As anotherexample, the transitional frequency measure may describe a count oftransitions from a first collaborative document of two collaborativedocuments to a second collaborative document of the two collaborativedocuments by all user profiles of the document collaboration serversystem 101. As yet another example, the transitional frequency measuremay describe a count of transitions from a first collaborative documentof two collaborative documents to a second collaborative document of thetwo collaborative documents by a team/group of user profiles that isassociated with a target user profile.

A transitional recency measure describes recency of transitions from afirst collaborative document of two collaborative documents to a secondcollaborative document of the two collaborative documents by a group oftarget user profiles. For example, a referential recency measure maydescribe a count of transitions from the first collaborative document tothe second collaborative document that are performed within a recenttime period (e.g., within the last week). As another example, areferential recency measure may describe a ratio of transitions from thefirst collaborative document to the second collaborative document thatare performed within a recent time period (e.g., within the last week).In some embodiments, the transitional recency measure may describerecency of transitions from a first collaborative document of twocollaborative documents to a second collaborative document of the twocollaborative documents by a target user profile. In some embodiments,the transitional recency measure may describe recency of transitionsfrom a first collaborative document of two collaborative documents to asecond collaborative document of the two collaborative documents by alluser profiles of the document collaboration server system 101. In someembodiments, the referential frequency measure may describe recency oftransitions from a first collaborative document of two collaborativedocuments to a second collaborative document of the two collaborativedocuments by a team/group of user profiles that is associated with atarget user profile.

At operation 503, the document collaboration server computing device 106determines the document transition edge objects based on thecross-document transitional relationships. In some embodiments, eachdocument transition edge object describes the existence of acorresponding cross-document transitional relationship. For example, adocument transition edge object may describe the existence of across-document transition relationship that is a unidirectionalreferential relationship, a bidirectional referential relationship, aunidirectional transitional relationship, and/or a bidirectionaltransitional relationship. As another example, a document transitionedge object may describe the existence of a cross-document transitionrelationship that is two or more of a unidirectional referentialrelationship, a bidirectional referential relationship, a unidirectionaltransitional relationship, and/or a bidirectional transitionalrelationship. In some embodiments, each document transition edge objectdescribes the existence of a corresponding cross-document transitionalrelationship as well as one or more relationship property data fieldsassociated with the cross-document transitional relationship, such as atleast one of a relationship type data field associated with thecross-document transitional relationship, a referential frequencymeasure associated with the cross-document transitional relationship, atransitional frequency measure associated with the cross-documenttransitional relationship, a referential recency measure, and atransitional recency measure associated with the cross-documenttransitional relationship.

At operation 504, the document collaboration server computing device 106maps the document transition edge objects to collaborative document nodeobjects. In some embodiments, given a document transition edge objectthat is associated with a cross-document transitional relationship whichin turn is associated two collaborative documents, the documentcollaboration server computing device 106 associates the documenttransition edge to collaborative document node objects associated withthe two noted collaborative documents. In some embodiments, given adocument transition edge object that is associated with a unidirectionalcross-document transitional relationship which in turn describes aunidirectional aggregate referential/transitional association from afirst collaborative document to a second collaborative document, thedocument collaboration server computing device 106 associates thedocument transition edge to a source collaborative node object that isassociated with the first collaborative document and a destinationcollaborative node object that is associated with the secondcollaborative document. In some embodiments, given a document transitionedge object that is associated with a bidirectional cross-documenttransitional relationship which in turn describes a bidirectionalaggregate referential/transitional association between two collaborativedocuments, the document collaboration server computing device 106associates the document transition edge to collaborative document nodeobjects associated with the two noted collaborative documents.

Returning to FIG. 4, at operation 402, the document collaboration servercomputing device 106 transmits the collaborative document graph-basedinterface object to a client computing device 102 to cause the clientcomputing device 102 to present the collaborative document graph-baseduser interface based on the collaborative document graph-based interfaceobject. For example, the document collaboration server computing device106 may transmit the collaborative document graph-based interface objectto the client computing device 102 as HTML data. The collaborativedocument graph-based user interface depicts a plurality of collaborativedocument node elements that are visually connected, at least partly, bya plurality of document transition edge elements, wherein the pluralityof document transition edge elements are configured to visuallyrepresent the collaborative document user transition data. Collaborativedocument graph-based user interfaces, collaborative document nodeelements, and document transition edge elements are described in greaterdetail below with reference to FIG. 6 and the exemplary client-sideoperations configured to generate a dynamically updatable collaborativedocument graph-based user interface.

At operation 403, the document collaboration server computing device 106determines an edge-wise visual effect object associated with a selecteddocument transition edge object of the collaborative documentgraph-based interface object. The selected document transition edgeobject is associated with the selected document transition edge of thecollaborative document graph-based user interface, where the selecteddocument transition edge element is defined between a firstcollaborative document node element of the collaborative documentgraph-based user interface and a second collaborative document nodeelement of the collaborative document graph-based user interface, andthe edge-wise visual effect object is determined based on a subset ofthe collaborative document user transition data that is associated witha first collaborative document node object corresponding to the firstcollaborative document node element and a second collaborative documentnode object corresponding to the second collaborative document nodeelement.

In some embodiments, if the selected document transition edge object isa unidirectional document transition edge object, the edge-wise visualeffect object is determined based on cross-document transitionalrelationships that describe a unidirectional aggregate association fromthe first collaborative document to the second collaborative document.In some embodiments, if the selected document transition edge object isa bidirectional document transition edge object, the edge-wise visualeffect object is determined based on cross-document transitionalrelationships that describe a bidirectional aggregate associationbetween the first collaborative document to the second collaborativedocument.

The edge-wise visual effect object describes a change in one or morerelationship property data fields of a corresponding cross-documenttransitional relationship that is associated with a correspondingdocument transition edge object for the edge-wise visual effect object.For example, the document collaboration server computing device 106 maygenerate the edge-wise visual effect object based on a referentialfrequency measure for the two collaborative document node objects thatare associated with the corresponding cross-document transitionalrelationship. As another example, the document collaboration servercomputing device 106 may generate the edge-wise visual effect objectbased on a transitional frequency measure for the two collaborativedocument node objects that are associated with the correspondingcross-document transitional relationship. As another example, thedocument collaboration server computing device 106 may generate theedge-wise visual effect object based on a transitional frequency measurefor the two collaborative document node objects that are associated withthe corresponding cross-document transitional relationship. As yetanother example, the document collaboration server computing device may106 generate the edge-wise visual effect object based on a transitionalrecency measure for the two collaborative document node objects that areassociated with the corresponding cross-document transitionalrelationship.

As described below, the client computing device 102 is configured toupdate a collaborative document graph-based user interface to apply theedge-wise visual effect to a document transition edge element of thecollaborative document graph-based user interface that is associatedwith the document transition edge object. In some embodiments, updatingthe collaborative document graph-based user interface to apply theedge-wise visual effect to a selected document transition edge elementcomprises modifying a coloring scheme of the selected documenttransition edge element. In some embodiments, updating the collaborativedocument graph-based user interface to apply the edge-wise visual effectto the selected document transition edge element comprises modifying awidth intensity of the selected document transition edge element.

At operation 404, the document collaboration server computing device 106transmits the edge-wise visual effect object to the client computingdevice 102. For example, the document collaboration server computingdevice 106 may transmit the edge-wise visual effect object to the clientcomputing device 102 as HTML data. The client computing device 102 isconfigured to update the collaborative document graph-based userinterface to apply an edge-wise visual effect corresponding to theedge-wise visual effect object to the selected document transition edgeelement.

Exemplary Client-Side Operations

FIG. 6 is a flowchart diagram of an example process 600 for performingclient-side operations that are configured to dynamically update acollaborative document graph-based user interface. Via the variousoperations of the process 600, an exemplary client computing device 102can present dynamically-updatable collaborative document graph-baseduser interfaces to a target end-user.

The process 600 begins at operation 601 when the client computing device102 presents a collaborative document graph-based user interface. Theclient computing device 102 is configured to generate the collaborativedocument graph-based user interface based on a collaborative documentgraph-based interface object, where the collaborative documentgraph-based interface object is generated by the document collaborationserver computing device 106 and transmitted by the documentcollaboration server computing device 106 to the client computing device102. The collaborative document graph-based user interface describesrelationships between a group of collaborative document node elementseach associated with a collaborative document via a group of documenttransition edge elements. For example, a collaborative documentgraph-based user interface may display a group of collaborative documentnode elements each associated with a collaborative document and a groupof document transition edge elements, where the existence of a documenttransition edge element between two collaborative document node elementsdescribes that the two collaborative documents associated with the twocollaborative document node elements are associated with across-document transitional relationship as defined by collaborativedocument user transition data associated with the two collaborativedocuments.

The collaborative document graph-based user interface depicts aplurality of collaborative document node elements that are visuallyconnected, at least partly, by a plurality of document transition edgeelements, wherein the plurality of document transition edge elements areconfigured to visually represent the collaborative document usertransition data. A collaborative document node element is a visualelement that is generated by the client computing device 102 andpresented to an end-user of the client computing device 102 as part of acollaborative document graph-based user interface. The client computingdevice 102 is configured to generate the collaborative document nodeelement based on a corresponding collaborative document node object in acollaborative document graph-based interface object, where thecollaborative document graph-based interface object is generated by thedocument collaboration server computing device 106 and transmitted bythe document collaboration server computing device 106 to the clientcomputing device 102. The collaborative document node element depicts avisual representation of a collaborative document associated with thecorresponding collaborative document node object, as well as optionallyone or more document property data fields described by the correspondingcollaborative document node object. For example, a collaborativedocument node element may describe an identifier of the correspondingcollaborative document, a revision history of the correspondingcollaborative document, a location of the corresponding collaborativedocument, a size of the corresponding collaborative document, and/or thelike.

A document transition edge element is a visual element that is generatedby the client computing device 102 and presented to an end-user of theclient computing device 102 as part of a collaborative documentgraph-based user interface. The client computing device 102 isconfigured to generate the document transition edge element based on acorresponding document transition edge object in a collaborativedocument graph-based interface object, where the collaborative documentgraph-based interface object is generated by the document collaborationserver computing device 106 and transmitted by the documentcollaboration server computing device 106 to the noted client computingdevice 102. The document transition edge element depicts a visualrepresentation of a cross-document transitional relationship between twocorresponding collaborative documents as described by the correspondingdocument transition object. The document transition edge element mayfurther describe one or more relationship property data fieldsassociated with the cross-document transitional relationship. Examplesof relationship property data fields include a relationship type datafield, a referential frequency measure, a transitional frequencymeasure, a referential recency measure, and a transitional recencymeasure.

An operational example of a collaborative document graph-based userinterface 700 is depicted in FIGS. 7A-7C. As depicted in FIG. 7A, whilein a “links only” mode, the collaborative document graph-based userinterface 700 includes the collaborative document node elements 701-707that each correspond to a collaborative document, as well as documenttransition edge elements 711-718, where each document transition edgeelement 711-718 from a particular collaborative document node element toanother collaborative document node element describes that theparticular collaborative document for the particular collaborativedocument node element links to the other collaborative document for theother collaborative document node element. For example, as depicted inFIG. 7A, the document transition edge element 711 depicts that thecollaborative document corresponding to the collaborative document nodeelement 701 links to the collaborative document corresponding to thecollaborative document node element 702.

As further depicted in FIG. 7A, the width of each document transitionedge element describes the referential intensity measure for thecorresponding cross-document transitional relationship. For example, asdepicted in FIG. 7A, the referential intensity measure for the documenttransition edge element 712 is more than the referential intensitymeasure for the document transition edge element 713.

As further depicted in FIG. 7A, defined user interactions withparticular collaborative document node elements (e.g., hovering of mouseover the particular collaborative document node elements, zooming in onthe particular collaborative document node elements, expansion of thescreen in an area surrounding the particular collaborative document nodeelements, and/or the like) displays text boxes that describe documentproperty data fields for the particular collaborative document nodeelements, such as the text box 731 for the collaborative document nodeelement 701 that describe document property data fields for thecollaborative document that is associated with the collaborativedocument node element 701.

As depicted in FIG. 7B, while in a “transitions only” mode, thecollaborative document graph-based user interface 700 includes thecollaborative document node elements 701-707 that each correspond to acollaborative document, as well as document transition edge elements721-727, where each document transition edge element 721-727 from aparticular collaborative document node element to another collaborativedocument node element describes that a target user has transitioned fromthe particular collaborative document for the particular collaborativedocument node element to the other collaborative document for the othercollaborative document node element with a threshold frequency via oneor more references/links between the particular collaborative documentand the other collaborative document. For example, as depicted in FIG.7B, the document transition edge element 721 depicts that a target userprofile has transitioned from the collaborative document correspondingto the collaborative document node element 701 links to thecollaborative document corresponding to the collaborative document nodeelement 702 with a threshold frequency.

As further depicted in FIG. 7B, the width of each document transitionedge element describes the transitional frequency measure for thecorresponding cross-document transitional relationship. For example, asdepicted in FIG. 7B, the transitional frequency measure for the documenttransition edge element 724 is more than the transitional frequencymeasure for the document transition edge element 725.

As further depicted in FIG. 7B, defined user interactions withparticular document transition edge elements (e.g., hovering of mouseover the particular document transition edge elements, zooming in on theparticular document transition edge elements, expansion of the screen inan area surrounding the particular document transition edge elements,and/or the like) displays text boxes that describe relationshipsproperty data fields for the particular document transition edgeelements, such as the text box 744 for document transition edge element724.

As further depicted in FIG. 7B, the “transitions only” mode of thecollaborative document graph-based user interface 700 enables (via theselection box collection 761) the user to select the set of userprofiles whose document browsing history is used to generate thecross-document transitional relationships depicted by the “transitionsonly” mode. For example, the user can select to generate the depictedcross-document transitional relationships based on the user's documentbrowsing history alone, based on the document browsing history of theuser's team's, based on the document browsing history of all thosehaving the same role as the user, and based on the document history ofall employees in the user's company.

As depicted in FIG. 7C, while in a “combined” mode, the collaborativedocument graph-based user interface 700 includes the collaborativedocument node elements 701-707 that each correspond to a collaborativedocument, a first set of document transition edge elements 711-718 thatdepict referential relationships described in relation to FIG. 7A, and asecond set of document transition edge elements 721-727 that depicttransitional relationships described in relation to FIG. 7B. Thus, asdepicted in FIG. 7C, each document transition edge element 711-718 froma particular collaborative document node element to anothercollaborative document node element describes that the particularcollaborative document for the particular collaborative document nodeelement links to the other collaborative document for the othercollaborative document node element, while each document transition edgeelement 721-727 from a particular collaborative document node element toanother collaborative document node element describes that a target userhas transitioned from the particular collaborative document for theparticular collaborative document node element to the othercollaborative document for the other collaborative document node elementwith a threshold frequency via one or more references/links between theparticular collaborative document and the other collaborative document.

In some embodiments, a collaborative document graph-based user interfacehas a single root collaborative document node element that is associatedwith a root collaborative document and shows all the n-th degreecross-document transitional relationships for the root collaborativedocument. For example, the collaborative document graph-based userinterface 1000 of FIG. 10 shows all the first-degree cross-documenttransitional relations for the root collaborative document that isassociated with the root collaborative document node element 1001.

In some embodiments, the degree of a cross-document transitionalrelationship between a source collaborative document node objectassociated with a source collaborative document and a secondcollaborative document node object associated with a secondcollaborative document describes how distant the second collaborativedocument node object is from the source collaborative document nodeobject in accordance with a collaborative document graph-based userinterface object. For example, a first-degree connection between asource collaborative document node object associated with a sourcecollaborative document and a second collaborative document node objectassociated with a second collaborative document describes that there isa common document transition edge object associated with the sourcecollaborative document node object and the second collaborative documentnode object. As another example, a second-degree connection between asource collaborative document node object associated with a sourcecollaborative document and a second collaborative document node objectassociated with a second collaborative document describes that: (i)there is a first-degree cross-document transitional relationship betweenthe source collaborative document node object and a third collaborativedocument node object, and (ii) there is another first-degreecross-document transitional relationship between the secondcollaborative document node object and the third collaborative documentnode object. As a further example, a third-degree connection between asource collaborative document node object associated with a sourcecollaborative document and a second collaborative document node objectassociated with a second collaborative document describes that: (i)there is a first-degree cross-document transitional relationship betweenthe source collaborative document node object and a third collaborativedocument node object, (ii) there is another first-degree cross-documenttransitional relationship between the second collaborative document nodeobject and a fourth collaborative document node object, and (iii) thereis another first-degree cross-document transitional relationship betweenthe third collaborative document node object and the fourthcollaborative document node object.

In some embodiments, a collaborative document graph-based user interfaceis configured to depict one or more first-degree document transitionedge elements associated with one or more first-degree documenttransition edge objects, where each first-degree document transitionedge object is associated with a first-degree cross-documenttransitional relationship between a source collaborative document nodeobject and a first-degree collaborative document node object. In some ofthe noted embodiments, user interaction with a first-degree documenttransition edge element or a first-degree collaborative document nodeelement associated with a first-degree collaborative document nodeobject causes depicting a set of target second-degree documenttransition edge elements, where the set of the set of second-degreedocument transition edge elements correspond to first-degreecross-document transitional relationships of the particular targetfirst-degree collaborative document node object. This capability to“expand” a collaborative document graph-based user interface byinteracting with particular collaborative document node elements may berepeated recursively, such that at each recursive level user interactionwith a particular n-th degree document transition edge element that isassociated with a particular n-th degree collaborative document nodeobject or a particular n-th degree collaborative document node elementthat is associated with the particular n-th degree collaborativedocument node object can cause display of n+1-th degree documenttransition edge elements associated with the particular n-th degreecollaborative document node object.

For example, as depicted in FIG. 11A, the single-root collaborativedocument graph-based user interface 1100 depicts a source collaborativedocument node element 1101 that is associated with a sourcecollaborative document node object, two first-degree collaborativedocument node elements 1102-1103, and two first-degree documenttransition edge elements 1121-1122. The first-degree collaborativedocument node elements 1102 is associated with a second collaborativedocument node object, and the first-degree document transition edgeelement 1121 is associated with a first collaborative documenttransition edge object that connects the second collaborative documentnode object to the source collaborative document node object. Thefirst-degree collaborative document node element 1103 is associated witha third collaborative document node object, and the first-degreedocument transition edge element 1122 is associated with a secondcollaborative document transition edge object that connects the thirdcollaborative document node object to the source collaborative documentnode object. As further depicted in FIG. 11A, the cross-documenttransitional relationships described by the single-root collaborativedocument graph-based user interface 1100 are determined based on a“transitions only” mode (as described above with respect to FIG. 7B) andbased on the user's browsing history.

As depicted in FIG. 11B, user interaction with at least one of thecollaborative document node element 1103 or the document transition edgeelement 1122 can cause display of three second-degree documenttransition edge elements 1123-1125 that describe first-degree documenttransition edge objects of the third collaborative document node objectthat is associated with the collaborative document node element 1103, aswell as the display of three second-degree collaborative document nodeelements 1104-1106 that describe first-degree collaborative documentnode objects that are connected to the third collaborative document nodeobject via a first-degree document transition edge object. In otherwords, user interaction with at least one of the collaborative documentnode element 1103 or the document transition edge element 1122 can causedisplay of the single-root collaborative document graph-based userinterface 1150 that depicts: (i) the document transition edge element1123 that describes a first-degree document transition edge objectassociated with the third collaborative document node object and acollaborative document node object that is associated with thecollaborative document node element 1104, (ii) the document transitionedge element 1124 that describes a first-degree document transition edgeobject associated with the third collaborative document node object anda collaborative document node object that is associated with thecollaborative document node element 1105, and (iii) the documenttransition edge element 1125 that describes a first-degree documenttransition edge object associated with the third collaborative documentnode object and a collaborative document node object that is associatedwith the collaborative document node element 1106.

Returning to FIG. 6, at operation 602, the client computing device 102determines an edge-wise visual effect associated with a selecteddocument transition edge element of the collaborative documentgraph-based user interface. The selected document transition edgeelement is defined between a first collaborative document node elementof the collaborative document graph-based user interface and a secondcollaborative document node element of the collaborative documentgraph-based user interface, and the edge-wise visual effect isdetermined based on an edge-wise visual effect object received from thedocument collaboration server computing device 106, where the edge-wisevisual effect object is determined based on a subset of thecollaborative document user transition data that is associated with afirst collaborative document node object corresponding to the firstcollaborative document node element and a second collaborative documentnode object corresponding to the second collaborative document nodeelement.

An edge-wise visual effect is a visual element that is configured to begenerated by the client computing device 102 and presented to anend-user of the client computing device 102 as a modification to acurrent visual state of a document transition edge element. The clientcomputing device 102 is configured to generate the edge-wise visualeffect based on an edge-wise visual effect object, wherein the edge-wisevisual effect object is generated by the document collaboration servercomputing device 106 and transmitted by the document collaborationserver computing device 106 to the client computing device 102. Theedge-wise visual effect may, for example, change a coloring scheme ofthe corresponding document transition edge element and/or change a widthintensity of the corresponding document transition edge element.

At operation 603, the client computing device 102 updates thecollaborative document graph-based user interface to apply the edge-wisevisual effect to the selected document transition edge element. Anoperational example of updating a collaborative document graph-baseduser interface is depicted in FIG. 8. As depicted in FIG. 8, thecollaborative document graph-based user interface 700 of FIG. 7C isupdated by increasing the width intensity of the document transitionedge element 711 and the width intensity of the document transition edgeelement 722.

In some embodiments, to apply a positive edge-wise visual effect, theclient computing device 102 may increase a width intensity of theselected document transition edge element. In some embodiments, to applya positive edge-wise visual effect, the client computing device 102 maydecrease a brightness measure of the selected document transition edgeelement. As yet another example, to apply a positive edge-wise visualeffect, the client computing device 102 may increase a redness measureof the selected document transition edge element. In some embodiments,to apply a positive edge-wise visual effect, the client computing device102 may increase a darkness measure of the selected document transitionedge element.

In some embodiments, to apply a negative edge-wise visual effect, theclient computing device 102 may decrease a width intensity of theselected document transition edge element. In some embodiments, to applya negative edge-wise visual effect, the client computing device 102 mayincrease a brightness measure of the selected document transition edgeelement. In some embodiments, to apply a negative edge-wise visualeffect, the client computing device 102 may increase a redness measureof the selected document transition edge element. As a further example,to apply a negative edge-wise visual effect, the client computing device102 may decrease a darkness measure of the selected document transitionedge element.

Exemplary Distributed Software Architectures

FIG. 9 is a distributed operational flow diagram of an example process900 for dynamically updating a collaborative document graph-based userinterface. In particular, the process 900 depicts operations performedby the document collaboration server computing device 106 of thedocument collaboration server system 101 in communication with thestorage subsystem 108 of the document collaboration server system 101and with the exemplary client computing device 102, as well as theoperations performed by the client computing device 102 in communicationwith the document collaboration server computing device 106 and ininteraction with the target end-user 951.

The process 900 begins at operation 901 when the document collaborationserver computing device 106 retrieves collaborative document usertransition data from the storage subsystem 108. The collaborativedocument user transition data describe a group of collaborativedocuments associated with the document collaboration server system 101as well as a group of cross-document transitional relationships betweenthe group of collaborative documents. The collaborative document usertransition data is configured to describe one or more referentialassociations between a group of collaborative documents and/or one ormore transitional associations between a group of collaborativedocuments. A referential association between two collaborative documentsdescribes that a first collaborative document of the two collaborativedocuments includes a link/reference to a second collaborative documentof the two collaborative documents. A transitional association betweentwo collaborative documents describes that a particular user profile hasselected to transition from a first collaborative document of the twocollaborative documents to a second collaborative document of the twocollaborative documents by selecting a link to the second collaborativedocument in the first collaborative document. In some embodiments, atransitional association between two collaborative documents isdetermined based on user activity data for a target user profile duringa historical document viewing session. In some embodiments, atransitional association between two collaborative documents isdetermined based on document browsing timestamps for a targetcollaborative document.

At operation 902, the document collaboration server computing device 106generates the collaborative document graph-based interface object basedon the collaborative document user transition data. The collaborativedocument graph-based interface object describes the collaborativedocument nodes elements and the document transition edge elementsassociated with the corresponding collaborative document graph-baseduser interface. For example, a collaborative document graph-basedinterface object may describe the collaborative document nodes elementsand the document transition elements associated with a correspondingcollaborative document graph-based user interface using HTML, data.

At operation 903, the document collaboration server computing device 106transmits the collaborative document graph-based interface object to aclient computing device 102 to cause the client computing device 102 topresent the collaborative document graph-based user interface based onthe collaborative document graph-based interface object. For example,the document collaboration server computing device 106 may transmit thecollaborative document graph-based interface object to the clientcomputing device 102 as HTML data.

At operation 904, the client computing device 102 generates acollaborative document graph-based user interface. The collaborativedocument graph-based user interface depicts a plurality of collaborativedocument node elements that are visually connected, at least partly, bya plurality of document transition edge elements, wherein the pluralityof document transition edge elements are configured to visuallyrepresent the collaborative document user transition data.

At operation 905, the client computing device 102 presents thecollaborative document graph-based user interface to the target end-user951. The client computing device 102 uses the input/output circuitry 306to render an electronic display corresponding to the collaborativedocument graph-based user interface on a display device associated withthe client computing device 102.

At operation 906, the document collaboration server computing device 106queries the storage subsystem 108 to detect a change in thecollaborative document user transition data for a selected documenttransition edge object. For example, the change may describe that thecollaborative document user transition data no longer validates theselected document transition edge object, as a relationship propertydata field associated with the selected document transition edge objecthas fallen below a relevant threshold. As another example, the changemay describe that, according to the collaborative document usertransition data, a relationship property data field associated with theselected document transition edge object has increased or decreased.

At operation 907, the document collaboration server computing device 106generates an edge-wise visual effect object based on the detectedchange. The edge-wise visual effect object describes a change in one ormore relationship property data fields of a corresponding cross-documenttransitional relationship that is associated with a correspondingdocument transition edge object for the edge-wise visual effect object.For example, the document collaboration server computing device 106 maygenerate the edge-wise visual effect object based on a referentialfrequency measure for the two collaborative document node objects thatare associated with the corresponding cross-document transitionalrelationship. As another example, the document collaboration servercomputing device 106 may generate the edge-wise visual effect objectbased on a transitional frequency measure for the two collaborativedocument node objects that are associated with the correspondingcross-document transitional relationship. As another example, thedocument collaboration server computing device 106 may generate theedge-wise visual effect object based on a transitional frequency measurefor the two collaborative document node objects that are associated withthe corresponding cross-document transitional relationship. As yetanother example, the document collaboration server computing device may106 generate the edge-wise visual effect object based on a transitionalrecency measure for the two collaborative document node objects that areassociated with the corresponding cross-document transitionalrelationship.

At operation 908, the document collaboration server computing device 106transmits the edge-wise visual effect object to the client computingdevice 102. For example, the document collaboration server computingdevice 106 may transmit the edge-wise visual effect object to the clientcomputing device 102 as HTML data.

At operation 909, the document collaboration server computing device 106generates an updated collaborative document graph-based user interfacebased on the edge-wise visual effect object. The client computing device102 updates the collaborative document graph-based user interface toapply an edge-wise visual effect corresponding to the edge-wise visualeffect object to the selected document transition edge element.

At operation 910, the client computing device 102 displays the updatedcollaborative document graph-based user interface to the target end-user951. The client computing device 102 uses the input/output circuitry 306to render an electronic display corresponding to the updatedcollaborative document graph-based user interface on a display deviceassociated with the client computing device 102.

Additional Implementation Details

Although example processing systems have been described in the figuresherein, implementations of the subject matter and the functionaloperations described herein can be implemented in other types of digitalelectronic circuitry, or in computer software, firmware, or hardware,including the structures disclosed in this specification and theirstructural equivalents, or in combinations of one or more of them.

Embodiments of the subject matter and the operations described hereincan be implemented in digital electronic circuitry, or in computersoftware, firmware, or hardware, including the structures disclosed inthis specification and their structural equivalents, or in combinationsof one or more of them. Embodiments of the subject matter describedherein can be implemented as one or more computer programs, i.e., one ormore modules of computer program instructions, encoded oncomputer-readable storage medium for execution by, or to control theoperation of, information/data processing apparatus. Alternatively, orin addition, the program instructions can be encoded on anartificially-generated propagated signal, e.g., a machine-generatedelectrical, optical, or electromagnetic signal, which is generated toencode information/data for transmission to suitable receiver apparatusfor execution by an information/data processing apparatus. Acomputer-readable storage medium can be, or be included in, acomputer-readable storage device, a computer-readable storage substrate,a random or serial access memory array or device, or a combination ofone or more of them. Moreover, while a computer-readable storage mediumis not a propagated signal, a computer-readable storage medium can be asource or destination of computer program instructions encoded in anartificially-generated propagated signal. The computer-readable storagemedium can also be, or be included in, one or more separate physicalcomponents or media (e.g., multiple CDs, disks, or other storagedevices).

The operations described herein can be implemented as operationsperformed by an information/data processing apparatus oninformation/data stored on one or more computer-readable storage devicesor received from other sources.

The term “data processing apparatus” encompasses all kinds of apparatus,devices, and machines for processing data, including by way of example aprogrammable processor, a computer, a system on a chip, or multipleones, or combinations, of the foregoing. The apparatus can includespecial purpose logic circuitry, e.g., an FPGA (field programmable gatearray) or an ASIC (Application Specific Integrated Circuit). Theapparatus can also include, in addition to hardware, code that createsan limited interaction mode and/or a non-limited interaction mode forthe computer program in question, e.g., code that constitutes processorfirmware, a protocol stack, a database management system, an operatingsystem, a cross-platform runtime environment, a virtual machine, or acombination of one or more of them. The apparatus and executionenvironment can realize various different computing modelinfrastructures, such as web services, distributed computing and gridcomputing infrastructures.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, declarative orprocedural languages, and it can be deployed in any form, including as astand-alone program or as a module, component, subroutine, object, orother unit suitable for use in a computing environment. A computerprogram may, but need not, correspond to a file in a file system. Aprogram can be stored in a portion of a file that holds other programsor information/data (e.g., one or more scripts stored in a markuplanguage page), in a single file dedicated to the program in question,or in multiple coordinated files (e.g., files that store one or moremodules, sub-programs, or portions of code). A computer program can bedeployed to be executed on one computer or on multiple computers thatare located at one site or distributed across multiple sites andinterconnected by a communication network.

The processes and logic flows described herein can be performed by oneor more programmable processors executing one or more computer programsto perform actions by operating on input information/data and generatingoutput. Processors suitable for the execution of a computer programinclude, by way of example, both general and special purposemicroprocessors, and any one or more processors of any kind of digitalcomputer. Generally, a processor will receive instructions andinformation/data from a read-only memory, a random access memory, orboth. The essential elements of a computer are a processor forperforming actions in accordance with instructions and one or morememory devices for storing instructions and data. Generally, a computerwill also include, or be operatively coupled to receive information/datafrom or transfer information/data to, or both, one or more mass storagedevices for storing data, e.g., magnetic, magneto-optical disks, oroptical disks. However, a computer need not have such devices. Devicessuitable for storing computer program instructions and information/datainclude all forms of non-volatile memory, media and memory devices,including by way of example semiconductor memory devices, e.g., EPROM,EEPROM, and flash memory devices; magnetic disks, e.g., internal harddisks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROMdisks. The processor and the memory can be supplemented by, orincorporated in, special purpose logic circuitry.

To provide for interaction with a user, embodiments of the subjectmatter described herein can be implemented on a computer having adisplay device, e.g., a CRT (cathode ray tube) or LCD (liquid crystaldisplay) monitor, for displaying information/data to the user and akeyboard and a pointing device, e.g., a mouse or a trackball, by whichthe user can provide input to the computer. Other kinds of devices canbe used to provide for interaction with a user as well; for example,feedback provided to the user can be any form of sensory feedback, e.g.,visual feedback, auditory feedback, or tactile feedback; and input fromthe user can be received in any form, including acoustic, speech, ortactile input. In addition, a computer can interact with a user bysending pages to and receiving pages from a device that is used by theuser; for example, by sending web pages to a web browser on a user'squery-initiating computing device in response to requests received fromthe web browser.

Embodiments of the subject matter described herein can be implemented ina computing system that includes a back-end component, e.g., as aninformation/data server, or that includes a middleware component, e.g.,an application server, or that includes a front-end component, e.g., aquery-initiating computing device having a graphical user interface or aweb browser through which a user can interact with an implementation ofthe subject matter described herein, or any combination of one or moresuch back-end, middleware, or front-end components. The components ofthe system can be interconnected by any form or medium of digitalinformation/data communication, e.g., a communication network. Examplesof communication networks include a local area network (“LAN”) and awide area network (“WAN”), an inter-network (e.g., the Internet), andpeer-to-peer networks (e.g., ad hoc peer-to-peer networks).

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other. In someembodiments, a server transmits information/data (e.g., an HTML page) toa query-initiating computing device (e.g., for purposes of displayinginformation/data to and receiving user input from a user interactingwith the query-initiating computing device). Information/data generatedat the query-initiating computing device (e.g., a result of the userinteraction) can be received from the query-initiating computing deviceat the server.

While this specification contains many specific implementation details,these should not be construed as limitations on the scope of anyinventions or of what may be claimed, but rather as description offeatures specific to particular embodiments of particular inventions.Certain features that are described herein in the context of separateembodiments can also be implemented in combination in a singleembodiment. Conversely, various features that are described in thecontext of a single embodiment can also be implemented in multipleembodiments separately or in any suitable sub-combination. Moreover,although features may be described above as acting in certaincombinations and even initially claimed as such, one or more featuresfrom a claimed combination can in some cases be excised from thecombination, and the claimed combination may be directed to asub-combination or variation of a sub-combination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in incremental order, orthat all illustrated operations be performed, to achieve desirableresults, unless described otherwise. In certain circumstances,multitasking and parallel processing may be advantageous. Moreover, theseparation of various system components in the embodiments describedabove should not be understood as requiring such separation in allembodiments, and it should be understood that the described programcomponents and systems can generally be integrated together in a singlesoftware product or packaged into multiple software products.

Thus, particular embodiments of the subject matter have been described.Other embodiments are within the scope of the following claims. In somecases, the actions recited in the claims can be performed in a differentorder and still achieve desirable results. In addition, the processesdepicted in the accompanying figures do not necessarily require theparticular order shown, or incremental order, to achieve desirableresults, unless described otherwise. In certain implementations,multitasking and parallel processing may be advantageous.

CONCLUSION

Many modifications and other embodiments of the inventions set forthherein will come to mind to one skilled in the art to which theseinventions pertain having the benefit of the teachings presented in theforegoing description and the associated drawings. Therefore, it is tobe understood that the inventions are not to be limited to the specificembodiments disclosed and that modifications and other embodiments areintended to be included within the scope of the appended claims.Although specific terms are employed herein, they are used in a genericand descriptive sense only and not for purposes of limitation, unlessdescribed otherwise.

That which is claimed is:
 1. An apparatus for dynamically updating acollaborative document graph-based user interface, the apparatuscomprising a display, at least one processor, and at least one memoryincluding program code, the at least one memory and the program codeconfigured to, with the processor, cause the apparatus to at least:present, via the display, the collaborative document graph-based userinterface comprising a plurality of collaborative document node elementsthat are visually connected, at least partly, by a plurality of documenttransition edge elements, wherein the plurality of document transitionedge elements are configured to visually represent collaborativedocument user transition data; determine, via the processor, anedge-wise visual effect associated with a selected document transitionedge element of the plurality of document transition edge elements,wherein the selected document transition edge element is defined betweena first collaborative document node element of the plurality ofcollaborative document node elements and a second collaborative documentnode element of the plurality of collaborative document node elements,and wherein the edge-wise visual effect is determined based on a subsetof the collaborative document user transition data that is associatedwith a first collaborative document node object corresponding to thefirst collaborative document node element and a second collaborativedocument node object corresponding to the second collaborative documentnode element; and update the collaborative document graph-based userinterface to apply the edge-wise visual effect to the selected documenttransition edge element.
 2. The apparatus of claim 1, wherein theedge-wise visual effect is determined based on a referential frequencymeasure for the first collaborative document node object and the secondcollaborative document node object.
 3. The apparatus of claim 1, whereinthe edge-wise visual effect is determined based on a transitionalfrequency measure for the first collaborative document node object andthe second collaborative document node object.
 4. The apparatus of claim1, wherein the edge-wise visual effect is determined based on atransitional recency measure for the first collaborative document nodeobject and the second collaborative document node object.
 5. Theapparatus of claim 1, wherein updating the collaborative documentgraph-based user interface to apply the edge-wise visual effect to theselected document transition edge element comprises modifying a coloringscheme of the selected document transition edge element.
 6. Theapparatus of claim 1, wherein updating the collaborative documentgraph-based user interface to apply the edge-wise visual effect to theselected document transition edge element comprises modifying a widthintensity of the selected document transition edge element.
 7. Theapparatus of claim 1, wherein the plurality of document transition edgeelements comprise one or more historical user transition edge elementsthat represent historical document transitions of a target user profileduring a historical document viewing session.
 8. The apparatus of claim7, wherein the historical document transitions are generated based onuser activity data for the target user profile during the historicaldocument viewing session.
 9. The apparatus of claim 7, wherein thehistorical document transitions are generated based on browsingtimestamps for the plurality of collaborative document node objectsduring the historical document viewing session.
 10. An apparatus fordynamically updating a collaborative document graph-based userinterface, the apparatus comprising at least one processor and at leastone memory including program code, the at least one memory and theprogram code configured to, with the processor, cause the apparatus toat least: generate a collaborative document graph-based interface objectthat describes the collaborative document graph-based user interface,wherein the collaborative document graph-based user interface comprisesa plurality of collaborative document node elements that are visuallyconnected, at least partly, by a plurality of document transition edgeelements, wherein the plurality of document transition edge elements areconfigured to visually represent collaborative document user transitiondata; transmit the collaborative document graph-based interface objectto a client computing device to cause the client computing device topresent the collaborative document graph-based user interface based onthe collaborative document graph-based interface object; determine anedge-wise visual effect object associated with a selected documenttransition edge object that is associated with a selected documenttransition element of the plurality of document transition elements,wherein the selected document transition edge element is defined betweena first collaborative document node element of the plurality ofcollaborative document node elements and a second collaborative documentnode element of the plurality of collaborative document node elements,and wherein the edge-wise visual effect object is determined based on asubset of the collaborative document user transition data that isassociated with a first collaborative document node object correspondingto the first collaborative document node element and a secondcollaborative document node object corresponding to the secondcollaborative document node element; and transmit the edge-wise visualeffect object to the client computing device, wherein the clientcomputing device is configured to update the collaborative documentgraph-based user interface to apply an edge-wise visual effectcorresponding to the edge-wise visual effect object to the selecteddocument transition edge element.
 11. The apparatus of claim 10, whereinthe edge-wise visual effect describes a referential frequency measurefor the first collaborative document node object and the secondcollaborative document node object.
 12. The apparatus of claim 10,wherein the edge-wise visual effect describes a transitional frequencymeasure for the first collaborative document node object and the secondcollaborative document node object.
 13. The apparatus of claim 10,wherein the edge-wise visual effect describes a transitional recencymeasure for the first collaborative document node object and the secondcollaborative document node object.
 14. The apparatus of claim 10,wherein updating the collaborative document graph-based user interfaceto apply the edge-wise visual effect to the selected document transitionedge comprises modifying a coloring scheme of the selected documenttransition edge element.
 15. The apparatus of claim 10, wherein updatingthe collaborative document graph-based user interface to apply theedge-wise visual effect to the selected document transition edgecomprises modifying a width intensity of the selected documenttransition edge element.
 16. The apparatus of claim 10, wherein theplurality of document transition edge objects comprise one or morehistorical user transition edge objects that represent historicaldocument transitions of a target user profile during a historicaldocument viewing session.
 17. The apparatus of claim 16, wherein thehistorical document transitions are generated based on user activitydata for the target user profile during the historical document viewingsession.
 18. The apparatus of claim 16, wherein the historical documenttransitions are generated based on browsing timestamps for the pluralityof collaborative document node objects during the historical documentviewing session.
 19. A computer-implemented method for dynamicallyupdating a collaborative document graph-based user interface, thecomputer-implemented method comprising: presenting, via a display, thecollaborative document graph-based user interface comprising a pluralityof collaborative document node elements that are visually connected, atleast partly, by a plurality of document transition edge elements,wherein the plurality of document transition edge elements areconfigured to visually represent collaborative document user transitiondata; determining, via a processor, an edge-wise visual effectassociated with a selected document transition edge element of theplurality of document transition edge elements, wherein the selecteddocument transition edge element is defined between a firstcollaborative document node element of the plurality of collaborativedocument node elements and a second collaborative document node elementof the plurality of collaborative document node elements, and whereinthe edge-wise visual effect is determined based on a subset of thecollaborative document user transition data that is associated with afirst collaborative document node object corresponding to the firstcollaborative document node element and a second collaborative documentnode object corresponding to the second collaborative document nodeelement; and updating the collaborative document graph-based userinterface to apply the edge-wise visual effect to the selected documenttransition edge element.
 20. A computer-implemented method fordynamically updating a collaborative document graph-based userinterface, the computer-implemented method comprising: generating acollaborative document graph-based interface object that describes thecollaborative document graph-based user interface, wherein thecollaborative document graph-based user interface comprises a pluralityof collaborative document node elements that are visually connected, atleast partly, by a plurality of document transition edge elements,wherein the plurality of document transition edge elements areconfigured to visually represent collaborative document user transitiondata; transmitting the collaborative document graph-based interfaceobject to a client computing device to cause the client computing deviceto present the collaborative document graph-based user interface basedon the collaborative document graph-based interface object; determiningan edge-wise visual effect object associated with a selected documenttransition edge object that is associated with a selected documenttransition element of the plurality of document transition elements,wherein the selected document transition edge element is defined betweena first collaborative document node element of the plurality ofcollaborative document node elements and a second collaborative documentnode element of the plurality of collaborative document node elements,and wherein the edge-wise visual effect object is determined based on asubset of the collaborative document user transition data that isassociated with a first collaborative document node object correspondingto the first collaborative document node element and a secondcollaborative document node object corresponding to the secondcollaborative document node element; and transmitting the edge-wisevisual effect object to the client computing device, wherein the clientcomputing device is configured to update the collaborative documentgraph-based user interface to apply an edge-wise visual effectcorresponding to the edge-wise visual effect object to the selecteddocument transition edge element.